﻿using System;
using System.Collections.Generic;
using Sustainalytics.Controversies.Service.Models;
using Sustainalytics.Controversies.Service.Util;
using Sustainalytics.Utils;

namespace Sustainalytics.Controversies.Service.BlInvoker
{
    public interface IServiceBlInvoker
    {
        List<ControversyIndicatorDto> GetCompanyQualitativePerformance(Guid idCompany);
        
        
        List<ControversyIndicatorDto> GetControversyIndicators(Guid idCompany, string themeName);

        List<ComparisonGroupControversyDto> GetDistributionOfControversyGraphData(Guid idCompany,
        Guid idControversyIndicator, ControversyGroupAssesment assesment);

        EventIndicatorDto GetEventIndicatorDetailData(Guid idCompany, Guid idControversy, Guid idEventIndicator, bool includeAllFields);
        List<EventIndicatorDto> GetEventIndicatorsFromControversy(Guid idCompany, Guid idControversy);
   

        List<IncidentDto> GetIncidentsData(Guid idCompany, Guid idEventIndicator, Guid idControversyIndicator, ListOptions options = null);

        IncidentDto GetIncidentData(Guid idCompany, Guid idEventIndicator, Guid idControversyIndicator, Guid idIncident);

        List<MapDataDto> GetIncidentsMapLocationByEventIndicator(Guid idCompany, Guid idControversy, Guid idEventIndicator, MapOptions mapOption);
        List<MapDataDto> GetIncidentsMapLocationForCompany(Guid idCompany, MapOptions mapOption);
    }
}
